<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Alexa Auto SDK: ExternalMediaAdapter.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="aace-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Alexa Auto SDK
   &#160;<span id="projectnumber">2.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_e05d7e2b1ecd646af5bb94391405f3b5.html">modules</a></li><li class="navelem"><a class="el" href="dir_4f53e4e39e3f016873518ae62e06f967.html">alexa</a></li><li class="navelem"><a class="el" href="dir_7f60adebdeaa12bc5139470d7019e227.html">platform</a></li><li class="navelem"><a class="el" href="dir_34a58b11622bdb4d27ed9d3e222de140.html">include</a></li><li class="navelem"><a class="el" href="dir_4c435c243dbda8f1a07608cac05c2731.html">AACE</a></li><li class="navelem"><a class="el" href="dir_4e3859205811755218ef1459ac1cfa9a.html">Alexa</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">ExternalMediaAdapter.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;).</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * You may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * A copy of the License is located at</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *     http://aws.amazon.com/apache2.0/</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * or in the &quot;license&quot; file accompanying this file. This file is distributed</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * express or implied. See the License for the specific language governing</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * permissions and limitations under the License.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#ifndef AACE_ALEXA_EXTERNAL_MEDIA_ADAPTER_H</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#define AACE_ALEXA_EXTERNAL_MEDIA_ADAPTER_H</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;chrono&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;AACE/Core/PlatformInterface.h&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;AACE/Audio/AudioOutput.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;AlexaEngineInterfaces.h&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceaace.html">aace</a> {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">namespace </span>alexa {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">class </span>ExternalMediaAdapter : <span class="keyword">public</span> <a class="code" href="classaace_1_1core_1_1_platform_interface.html">aace::core::PlatformInterface</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="keyword">using</span> DiscoveredPlayerInfo = ExternalMediaAdapterEngineInterface::DiscoveredPlayerInfo;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">using</span> MutedState = <a class="code" href="classaace_1_1audio_1_1_audio_output.html#ad03cbdbbf172fd64a16c16b64d8a4b05">aace::audio::AudioOutput::MutedState</a>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keyword">enum class</span> PlayControlType</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    {</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        PAUSE,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;        RESUME,</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        STOP,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        NEXT,</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;        PREVIOUS,</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;        START_OVER,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        FAST_FORWARD,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        REWIND,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        ENABLE_REPEAT_ONE,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        ENABLE_REPEAT,</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        DISABLE_REPEAT,</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        ENABLE_SHUFFLE,</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        DISABLE_SHUFFLE,</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        FAVORITE,</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        UNFAVORITE</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    };</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keyword">enum class</span> SupportedPlaybackOperation {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        PLAY,</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        PAUSE,</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        STOP,</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;        NEXT,</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        PREVIOUS,</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        START_OVER,</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        FAST_FORWARD,</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        REWIND,</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        ENABLE_REPEAT,</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        ENABLE_REPEAT_ONE,</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        DISABLE_REPEAT,</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        ENABLE_SHUFFLE,</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        DISABLE_SHUFFLE,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        FAVORITE,</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        UNFAVORITE,</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        SEEK,</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;        ADJUST_SEEK</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    };</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keyword">enum class</span> Favorites {</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        FAVORITED,</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        UNFAVORITED,</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        NOT_RATED</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    };</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keyword">enum class</span> MediaType {</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        TRACK,</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        PODCAST,</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        STATION,</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        AD,</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        SAMPLE,</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        OTHER</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    };</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keyword">enum class</span> Navigation {</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        DEFAULT,</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        NONE,</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        FOREGROUND</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    };</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html">  247</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html">SessionState</a> {</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html">SessionState</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ada43dff94ace3219b86960616e22558f">  255</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ada43dff94ace3219b86960616e22558f">endpointId</a>;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ada22c60c9c13b72b9d2b16ada309d3e9">  258</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ada22c60c9c13b72b9d2b16ada309d3e9">loggedIn</a>;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a3cdb22dff7dd902f4ce60eb945fc15b8">  261</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a3cdb22dff7dd902f4ce60eb945fc15b8">userName</a>;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a1ca861f8fc670ade16dbcfc3209d504e">  264</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a1ca861f8fc670ade16dbcfc3209d504e">isGuest</a>;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ae33ecdd2506d0988e16caf6e79c7311b">  267</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ae33ecdd2506d0988e16caf6e79c7311b">launched</a>;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a47f42fb452b204956f732a8c3633d713">  273</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a47f42fb452b204956f732a8c3633d713">active</a>;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a0f12d9c3aa3f7eedec761ed03d23342c">  279</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a0f12d9c3aa3f7eedec761ed03d23342c">accessToken</a>;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ac1255f0d7e2c0e6a042b26e066bb9653">  282</a></span>&#160;        std::chrono::milliseconds <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ac1255f0d7e2c0e6a042b26e066bb9653">tokenRefreshInterval</a>;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a6aa00c891594ccfe90626c3a15e139a0">  285</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a6aa00c891594ccfe90626c3a15e139a0">playerCookie</a>;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        </div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a5ff9845559c445945ce46743577f02f0">  288</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a5ff9845559c445945ce46743577f02f0">spiVersion</a>;</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    };</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    </div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html">  294</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html">PlaybackState</a> {</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;        <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html">PlaybackState</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a2c1bd247d514dd6f8475e608282adbdf">  300</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a2c1bd247d514dd6f8475e608282adbdf">state</a>;</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a7f87f3ccce182708d81da10642971c6c">  303</a></span>&#160;        std::vector&lt;SupportedPlaybackOperation&gt; <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a7f87f3ccce182708d81da10642971c6c">supportedOperations</a>;</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a20733d0a377adf547315367bf6efeecf">  306</a></span>&#160;        std::chrono::milliseconds <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a20733d0a377adf547315367bf6efeecf">trackOffset</a>;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a80455c20bb3b0800f323a0ccf51b25e9">  309</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a80455c20bb3b0800f323a0ccf51b25e9">shuffleEnabled</a>;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad18c03b18fc5fd59d4502cb5902841c9">  312</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad18c03b18fc5fd59d4502cb5902841c9">repeatEnabled</a>;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a4a8a97314926068ffe56d36544c964e0">  315</a></span>&#160;        Favorites <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a4a8a97314926068ffe56d36544c964e0">favorites</a>;</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a8efae92e933eb314931ca275833cf5c7">  318</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a8efae92e933eb314931ca275833cf5c7">type</a>;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ab65edcec57ea9126b9936b68f3694509">  321</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ab65edcec57ea9126b9936b68f3694509">playbackSource</a>;</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a1b0f4fbadc859257a4c2300f41494b16">  325</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a1b0f4fbadc859257a4c2300f41494b16">playbackSourceId</a>;</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a4bf58240989f3cadeb677e07e7cdb59d">  328</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a4bf58240989f3cadeb677e07e7cdb59d">trackName</a>;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#af73ca90a34010c26670249b726af82f3">  331</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#af73ca90a34010c26670249b726af82f3">trackId</a>;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ac72282047646042715d88a4fa67287c3">  335</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ac72282047646042715d88a4fa67287c3">trackNumber</a>;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ac4a8c7f055df29c5df58a0f1f93aa774">  338</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ac4a8c7f055df29c5df58a0f1f93aa774">artistName</a>;</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ae8e46c9953136f5180b5d7a9d324b502">  342</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ae8e46c9953136f5180b5d7a9d324b502">artistId</a>;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#aaac4877bf0cbfcb4538b3bcceb4e85f2">  345</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#aaac4877bf0cbfcb4538b3bcceb4e85f2">albumName</a>;</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a671b6f011cd5f54fa23fb6b869ef9efb">  349</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a671b6f011cd5f54fa23fb6b869ef9efb">albumId</a>;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#aa5ddbdfee98be70abd85a447201c63fc">  352</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#aa5ddbdfee98be70abd85a447201c63fc">tinyURL</a>;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a40bc2ec8931aae4f77d2655613246cc8">  355</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a40bc2ec8931aae4f77d2655613246cc8">smallURL</a>;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad3a1789ab11e758aa2c16498b6e724b3">  358</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad3a1789ab11e758aa2c16498b6e724b3">mediumURL</a>;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ae3eb99c0fa114617ef22978c6b12596f">  361</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ae3eb99c0fa114617ef22978c6b12596f">largeURL</a>;</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad0ddda86a145a2d25e053c41c75fa6d9">  365</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad0ddda86a145a2d25e053c41c75fa6d9">coverId</a>;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#afed847fb6d1a433912d25efbd3a5deeb">  369</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#afed847fb6d1a433912d25efbd3a5deeb">mediaProvider</a>;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a02949fd4dbc76d1a777252817aff6709">  372</a></span>&#160;        MediaType <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a02949fd4dbc76d1a777252817aff6709">mediaType</a>;</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a031db9827daaf6d93e6a1624c2a97d0c">  375</a></span>&#160;        std::chrono::milliseconds <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a031db9827daaf6d93e6a1624c2a97d0c">duration</a>;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    };</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html">  381</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html">ExternalMediaAdapterState</a> {</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;        <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html">ExternalMediaAdapterState</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html#aa5e42c3124172f96c11377bed58963aa">  387</a></span>&#160;        <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html">SessionState</a> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html#aa5e42c3124172f96c11377bed58963aa">sessionState</a>;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html#aadbf68e90a1b84c5714dc432cf2c7dbf">  390</a></span>&#160;        <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html">PlaybackState</a> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html#aadbf68e90a1b84c5714dc432cf2c7dbf">playbackState</a>;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    };</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html">  396</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html">AuthorizedPlayerInfo</a> {</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#ae81d224b974f097d1bc768f3dfa2d3de">  399</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#ae81d224b974f097d1bc768f3dfa2d3de">localPlayerId</a>;</div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#ab490eef2715a6dc3a5ccd8447e701f88">  401</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#ab490eef2715a6dc3a5ccd8447e701f88">authorized</a>;</div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#a819a92a8ef3efd20ddf855b2d681146d">  403</a></span>&#160;        std::string <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#a819a92a8ef3efd20ddf855b2d681146d">defaultSkillToken</a>;</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        <span class="comment">// The playerId that identifies this player</span></div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        std::string playerId;</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    };</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    ExternalMediaAdapter() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="keyword">virtual</span> ~ExternalMediaAdapter();</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> login( <span class="keyword">const</span> std::string&amp; localPlayerId, <span class="keyword">const</span> std::string&amp; accessToken, <span class="keyword">const</span> std::string&amp; userName, <span class="keywordtype">bool</span> forceLogin, std::chrono::milliseconds tokenRefreshInterval ) = 0;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> logout( <span class="keyword">const</span> std::string&amp; localPlayerId ) = 0;</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> play( <span class="keyword">const</span> std::string&amp; localPlayerId, <span class="keyword">const</span> std::string&amp; playContextToken, int64_t index, std::chrono::milliseconds offset, <span class="keywordtype">bool</span> preload, Navigation navigation) = 0;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> play( <span class="keyword">const</span> std::string&amp; localPlayerId, <span class="keyword">const</span> std::string&amp; playContextToken, int64_t index, std::chrono::milliseconds offset, <span class="keywordtype">bool</span> preload, Navigation navigation, <span class="keyword">const</span> std::string&amp; playbackSessionId, <span class="keyword">const</span> std::string&amp; skillToken );</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> playControl( <span class="keyword">const</span> std::string&amp; localPlayerId, PlayControlType controlType ) = 0;</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> seek( <span class="keyword">const</span> std::string&amp; localPlayerId, std::chrono::milliseconds offset ) = 0;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> adjustSeek( <span class="keyword">const</span> std::string&amp; localPlayerId, std::chrono::milliseconds deltaOffset ) = 0;</div><div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> authorize( <span class="keyword">const</span> std::vector&lt;AuthorizedPlayerInfo&gt;&amp; authorizedPlayers ) = 0;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getState( <span class="keyword">const</span> std::string&amp; localPlayerId, <a class="code" href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html">ExternalMediaAdapterState</a>&amp; state ) = 0;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    </div><div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> volumeChanged( <span class="keywordtype">float</span> volume ) = 0;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> mutedStateChanged( <a class="code" href="classaace_1_1audio_1_1_audio_output.html#ad03cbdbbf172fd64a16c16b64d8a4b05">MutedState</a> state ) = 0;</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    </div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    <span class="comment">// ExternalMediaAdapterEngineInterface</span></div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;</div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    <span class="keywordtype">void</span> reportDiscoveredPlayers( <span class="keyword">const</span> std::vector&lt;DiscoveredPlayerInfo&gt;&amp; discoveredPlayers );</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordtype">void</span> requestToken( <span class="keyword">const</span> std::string&amp; localPlayerId );</div><div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    <span class="keywordtype">void</span> loginComplete( <span class="keyword">const</span> std::string&amp; localPlayerId );</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keywordtype">void</span> logoutComplete( <span class="keyword">const</span> std::string&amp; localPlayerId );</div><div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keywordtype">void</span> playerEvent( <span class="keyword">const</span> std::string&amp; localPlayerId, <span class="keyword">const</span> std::string&amp; eventName );</div><div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <span class="keywordtype">void</span> playerError( <span class="keyword">const</span> std::string&amp; localPlayerId, <span class="keyword">const</span> std::string&amp; errorName, <span class="keywordtype">long</span> code, <span class="keyword">const</span> std::string&amp; description, <span class="keywordtype">bool</span> fatal );</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    <span class="keywordtype">void</span> setFocus( <span class="keyword">const</span> std::string&amp; localPlayerId );</div><div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;    <span class="keywordtype">void</span> removeDiscoveredPlayer( <span class="keyword">const</span> std::string&amp; localPlayerId );</div><div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    <span class="keywordtype">void</span> setEngineInterface( std::shared_ptr&lt;aace::alexa::ExternalMediaAdapterEngineInterface&gt; externalMediaAdapterEngineInterface );</div><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    std::weak_ptr&lt;aace::alexa::ExternalMediaAdapterEngineInterface&gt; m_externalMediaAdapterEngineInterface;</div><div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;};</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;<span class="keyword">inline</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; stream, <span class="keyword">const</span> ExternalMediaAdapter::PlayControlType&amp; requestType) {</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    <span class="keywordflow">switch</span> (requestType) {</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::RESUME:</div><div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;RESUME&quot;</span>;</div><div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::PAUSE:</div><div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;PAUSE&quot;</span>;</div><div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::STOP:</div><div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;STOP&quot;</span>;</div><div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::NEXT:</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;NEXT&quot;</span>;</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::PREVIOUS:</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;PREVIOUS&quot;</span>;</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::START_OVER:</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;START_OVER&quot;</span>;</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::FAST_FORWARD:</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;FAST_FORWARD&quot;</span>;</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::REWIND:</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;REWIND&quot;</span>;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::ENABLE_REPEAT_ONE:</div><div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;ENABLE_REPEAT_ONE&quot;</span>;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::ENABLE_REPEAT:</div><div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;ENABLE_REPEAT&quot;</span>;</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::DISABLE_REPEAT:</div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;DISABLE_REPEAT&quot;</span>;</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::ENABLE_SHUFFLE:</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;ENABLE_SHUFFLE&quot;</span>;</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::DISABLE_SHUFFLE:</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;DISABLE_SHUFFLE&quot;</span>;</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::FAVORITE:</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;FAVORITE&quot;</span>;</div><div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::PlayControlType::UNFAVORITE:</div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;UNFAVORITE&quot;</span>;</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;    }</div><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;}</div><div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="keyword">inline</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; stream, <span class="keyword">const</span> ExternalMediaAdapter::SupportedPlaybackOperation&amp; supportedPlaybackOperation) {</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    <span class="keywordflow">switch</span> (supportedPlaybackOperation) {</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::PLAY:</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;PLAY&quot;</span>;</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::PAUSE:</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;PAUSE&quot;</span>;</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::STOP:</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;STOP&quot;</span>;</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::NEXT:</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;NEXT&quot;</span>;</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::PREVIOUS:</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;PREVIOUS&quot;</span>;</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::START_OVER:</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;START_OVER&quot;</span>;</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::FAST_FORWARD:</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;FAST_FORWARD&quot;</span>;</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::REWIND:</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;REWIND&quot;</span>;</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::ENABLE_REPEAT:</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;ENABLE_REPEAT&quot;</span>;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::ENABLE_REPEAT_ONE:</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;ENABLE_REPEAT_ONE&quot;</span>;</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::DISABLE_REPEAT:</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;DISABLE_REPEAT&quot;</span>;</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::ENABLE_SHUFFLE:</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;ENABLE_SHUFFLE&quot;</span>;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::DISABLE_SHUFFLE:</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;DISABLE_SHUFFLE&quot;</span>;</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::FAVORITE:</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;FAVORITE&quot;</span>;</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::UNFAVORITE:</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;UNFAVORITE&quot;</span>;</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::SEEK:</div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;SEEK&quot;</span>;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::SupportedPlaybackOperation::ADJUST_SEEK:</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;ADJUST_SEEK&quot;</span>;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;    }</div><div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;    <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;}</div><div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;</div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<span class="keyword">inline</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; stream, <span class="keyword">const</span> ExternalMediaAdapter::Favorites&amp; favorites) {</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;    <span class="keywordflow">switch</span> (favorites) {</div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::Favorites::FAVORITED:</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;FAVORITED&quot;</span>;</div><div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::Favorites::UNFAVORITED:</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;UNFAVORITED&quot;</span>;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::Favorites::NOT_RATED:</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;NOT_RATED&quot;</span>;</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;    }</div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;    <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;}</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="keyword">inline</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; stream, <span class="keyword">const</span> ExternalMediaAdapter::MediaType&amp; mediaType) {</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    <span class="keywordflow">switch</span> (mediaType) {</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::MediaType::TRACK:</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;TRACK&quot;</span>;</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::MediaType::PODCAST:</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;PODCAST&quot;</span>;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::MediaType::STATION:</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;STATION&quot;</span>;</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::MediaType::AD:</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;AD&quot;</span>;</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::MediaType::SAMPLE:</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;SAMPLE&quot;</span>;</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::MediaType::OTHER:</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;OTHER&quot;</span>;</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;    }</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;}</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="keyword">inline</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; stream, <span class="keyword">const</span> ExternalMediaAdapter::Navigation&amp; navigation) {</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    <span class="keywordflow">switch</span> (navigation) {</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::Navigation::DEFAULT:</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;DEFAULT&quot;</span>;</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::Navigation::NONE:</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;NONE&quot;</span>;</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        <span class="keywordflow">case</span> ExternalMediaAdapter::Navigation::FOREGROUND:</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;            stream &lt;&lt; <span class="stringliteral">&quot;FOREGROUND&quot;</span>;</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    }</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordflow">return</span> stream;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;}</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;} <span class="comment">// aace::alexa</span></div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;} <span class="comment">// aace</span></div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">#endif // AACE_ALEXA_EXTERNAL_MEDIA_ADAPTER_H</span></div><div class="ttc" id="classaace_1_1audio_1_1_audio_output_html_ad03cbdbbf172fd64a16c16b64d8a4b05"><div class="ttname"><a href="classaace_1_1audio_1_1_audio_output.html#ad03cbdbbf172fd64a16c16b64d8a4b05">aace::audio::AudioOutput::MutedState</a></div><div class="ttdeci">MutedState</div><div class="ttdef"><b>Definition:</b> AudioOutput.h:69</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ae8e46c9953136f5180b5d7a9d324b502"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ae8e46c9953136f5180b5d7a9d324b502">aace::alexa::ExternalMediaAdapter::PlaybackState::artistId</a></div><div class="ttdeci">std::string artistId</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:342</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_aaac4877bf0cbfcb4538b3bcceb4e85f2"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#aaac4877bf0cbfcb4538b3bcceb4e85f2">aace::alexa::ExternalMediaAdapter::PlaybackState::albumName</a></div><div class="ttdeci">std::string albumName</div><div class="ttdoc">The display name of the currently playing album. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:345</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_a47f42fb452b204956f732a8c3633d713"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a47f42fb452b204956f732a8c3633d713">aace::alexa::ExternalMediaAdapter::SessionState::active</a></div><div class="ttdeci">bool active</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:273</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info_html_a819a92a8ef3efd20ddf855b2d681146d"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#a819a92a8ef3efd20ddf855b2d681146d">aace::alexa::ExternalMediaAdapter::AuthorizedPlayerInfo::defaultSkillToken</a></div><div class="ttdeci">std::string defaultSkillToken</div><div class="ttdoc">An opaque token for the domain or skill that is associated with this player. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:403</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_af73ca90a34010c26670249b726af82f3"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#af73ca90a34010c26670249b726af82f3">aace::alexa::ExternalMediaAdapter::PlaybackState::trackId</a></div><div class="ttdeci">std::string trackId</div><div class="ttdoc">The arbitrary identifier for currently playing trackid of the track as per the music provider...</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:331</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a20733d0a377adf547315367bf6efeecf"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a20733d0a377adf547315367bf6efeecf">aace::alexa::ExternalMediaAdapter::PlaybackState::trackOffset</a></div><div class="ttdeci">std::chrono::milliseconds trackOffset</div><div class="ttdoc">The offset of the track in milliseconds. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:306</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a02949fd4dbc76d1a777252817aff6709"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a02949fd4dbc76d1a777252817aff6709">aace::alexa::ExternalMediaAdapter::PlaybackState::mediaType</a></div><div class="ttdeci">MediaType mediaType</div><div class="ttdoc">The Media type enum value from {TRACK, PODCAST, STATION, AD, SAMPLE, OTHER} type of the media...</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:372</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a1b0f4fbadc859257a4c2300f41494b16"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a1b0f4fbadc859257a4c2300f41494b16">aace::alexa::ExternalMediaAdapter::PlaybackState::playbackSourceId</a></div><div class="ttdeci">std::string playbackSourceId</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:325</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_a3cdb22dff7dd902f4ce60eb945fc15b8"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a3cdb22dff7dd902f4ce60eb945fc15b8">aace::alexa::ExternalMediaAdapter::SessionState::userName</a></div><div class="ttdeci">std::string userName</div><div class="ttdoc">The userName of the user currently logged in via a Login directive from the AVS. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:261</div></div>
<div class="ttc" id="classaace_1_1core_1_1_platform_interface_html"><div class="ttname"><a href="classaace_1_1core_1_1_platform_interface.html">aace::core::PlatformInterface</a></div><div class="ttdef"><b>Definition:</b> PlatformInterface.h:29</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info_html"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html">aace::alexa::ExternalMediaAdapter::AuthorizedPlayerInfo</a></div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:396</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html">aace::alexa::ExternalMediaAdapter::SessionState</a></div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:247</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_afed847fb6d1a433912d25efbd3a5deeb"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#afed847fb6d1a433912d25efbd3a5deeb">aace::alexa::ExternalMediaAdapter::PlaybackState::mediaProvider</a></div><div class="ttdeci">std::string mediaProvider</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:369</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a7f87f3ccce182708d81da10642971c6c"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a7f87f3ccce182708d81da10642971c6c">aace::alexa::ExternalMediaAdapter::PlaybackState::supportedOperations</a></div><div class="ttdeci">std::vector&lt; SupportedPlaybackOperation &gt; supportedOperations</div><div class="ttdoc">The set of states the default player can move into from its current state. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:303</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a8efae92e933eb314931ca275833cf5c7"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a8efae92e933eb314931ca275833cf5c7">aace::alexa::ExternalMediaAdapter::PlaybackState::type</a></div><div class="ttdeci">std::string type</div><div class="ttdoc">The type of the media item. For now hard-coded to ExternalMediaAdapterMusicItem. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:318</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_ae33ecdd2506d0988e16caf6e79c7311b"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ae33ecdd2506d0988e16caf6e79c7311b">aace::alexa::ExternalMediaAdapter::SessionState::launched</a></div><div class="ttdeci">bool launched</div><div class="ttdoc">Flag that identifies if an application has been launched or not. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:267</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_a0f12d9c3aa3f7eedec761ed03d23342c"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a0f12d9c3aa3f7eedec761ed03d23342c">aace::alexa::ExternalMediaAdapter::SessionState::accessToken</a></div><div class="ttdeci">std::string accessToken</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:279</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a4a8a97314926068ffe56d36544c964e0"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a4a8a97314926068ffe56d36544c964e0">aace::alexa::ExternalMediaAdapter::PlaybackState::favorites</a></div><div class="ttdeci">Favorites favorites</div><div class="ttdoc">The favorite status {&quot;FAVORITED&quot;/&quot;UNFAVORITED&quot;/&quot;NOT_RATED&quot;}. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:315</div></div>
<div class="ttc" id="namespaceaace_html"><div class="ttname"><a href="namespaceaace.html">aace</a></div><div class="ttdef"><b>Definition:</b> AddressBook.h:26</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ac4a8c7f055df29c5df58a0f1f93aa774"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ac4a8c7f055df29c5df58a0f1f93aa774">aace::alexa::ExternalMediaAdapter::PlaybackState::artistName</a></div><div class="ttdeci">std::string artistName</div><div class="ttdoc">The display name for the currently playing artist. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:338</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a2c1bd247d514dd6f8475e608282adbdf"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a2c1bd247d514dd6f8475e608282adbdf">aace::alexa::ExternalMediaAdapter::PlaybackState::state</a></div><div class="ttdeci">std::string state</div><div class="ttdoc">The state of the default player - IDLE/STOPPED/PLAYING... </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:300</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_aa5ddbdfee98be70abd85a447201c63fc"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#aa5ddbdfee98be70abd85a447201c63fc">aace::alexa::ExternalMediaAdapter::PlaybackState::tinyURL</a></div><div class="ttdeci">std::string tinyURL</div><div class="ttdoc">The URL for tiny cover art image resource} . </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:352</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_ada22c60c9c13b72b9d2b16ada309d3e9"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ada22c60c9c13b72b9d2b16ada309d3e9">aace::alexa::ExternalMediaAdapter::SessionState::loggedIn</a></div><div class="ttdeci">bool loggedIn</div><div class="ttdoc">Flag that identifies if a user is currently logged in or not. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:258</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ac72282047646042715d88a4fa67287c3"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ac72282047646042715d88a4fa67287c3">aace::alexa::ExternalMediaAdapter::PlaybackState::trackNumber</a></div><div class="ttdeci">std::string trackNumber</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:335</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ab65edcec57ea9126b9936b68f3694509"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ab65edcec57ea9126b9936b68f3694509">aace::alexa::ExternalMediaAdapter::PlaybackState::playbackSource</a></div><div class="ttdeci">std::string playbackSource</div><div class="ttdoc">The display name for current playback context, e.g. playlist name. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:321</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_ada43dff94ace3219b86960616e22558f"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ada43dff94ace3219b86960616e22558f">aace::alexa::ExternalMediaAdapter::SessionState::endpointId</a></div><div class="ttdeci">std::string endpointId</div><div class="ttdoc">The unique device endpoint. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:255</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_ac1255f0d7e2c0e6a042b26e066bb9653"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#ac1255f0d7e2c0e6a042b26e066bb9653">aace::alexa::ExternalMediaAdapter::SessionState::tokenRefreshInterval</a></div><div class="ttdeci">std::chrono::milliseconds tokenRefreshInterval</div><div class="ttdoc">The validity period of the token in milliseconds. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:282</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_a1ca861f8fc670ade16dbcfc3209d504e"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a1ca861f8fc670ade16dbcfc3209d504e">aace::alexa::ExternalMediaAdapter::SessionState::isGuest</a></div><div class="ttdeci">bool isGuest</div><div class="ttdoc">Flag that identifies if the user currently logged in is a guest or not. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:264</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ad0ddda86a145a2d25e053c41c75fa6d9"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad0ddda86a145a2d25e053c41c75fa6d9">aace::alexa::ExternalMediaAdapter::PlaybackState::coverId</a></div><div class="ttdeci">std::string coverId</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:365</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state_html_aa5e42c3124172f96c11377bed58963aa"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html#aa5e42c3124172f96c11377bed58963aa">aace::alexa::ExternalMediaAdapter::ExternalMediaAdapterState::sessionState</a></div><div class="ttdeci">SessionState sessionState</div><div class="ttdoc">Variable to hold the session state. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:387</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_a5ff9845559c445945ce46743577f02f0"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a5ff9845559c445945ce46743577f02f0">aace::alexa::ExternalMediaAdapter::SessionState::spiVersion</a></div><div class="ttdeci">std::string spiVersion</div><div class="ttdoc">The only spiVersion that currently exists is &quot;1.0&quot;. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:288</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state_html_aadbf68e90a1b84c5714dc432cf2c7dbf"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html#aadbf68e90a1b84c5714dc432cf2c7dbf">aace::alexa::ExternalMediaAdapter::ExternalMediaAdapterState::playbackState</a></div><div class="ttdeci">PlaybackState playbackState</div><div class="ttdoc">Variable to hold the playback state. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:390</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html">aace::alexa::ExternalMediaAdapter::PlaybackState</a></div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:294</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ae3eb99c0fa114617ef22978c6b12596f"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ae3eb99c0fa114617ef22978c6b12596f">aace::alexa::ExternalMediaAdapter::PlaybackState::largeURL</a></div><div class="ttdeci">std::string largeURL</div><div class="ttdoc">The URL for large cover art image resource} . </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:361</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state_html"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_external_media_adapter_state.html">aace::alexa::ExternalMediaAdapter::ExternalMediaAdapterState</a></div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:381</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info_html_ae81d224b974f097d1bc768f3dfa2d3de"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#ae81d224b974f097d1bc768f3dfa2d3de">aace::alexa::ExternalMediaAdapter::AuthorizedPlayerInfo::localPlayerId</a></div><div class="ttdeci">std::string localPlayerId</div><div class="ttdoc">The opaque token that uniquely identifies the local external player app. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:399</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state_html_a6aa00c891594ccfe90626c3a15e139a0"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_session_state.html#a6aa00c891594ccfe90626c3a15e139a0">aace::alexa::ExternalMediaAdapter::SessionState::playerCookie</a></div><div class="ttdeci">std::string playerCookie</div><div class="ttdoc">A player may declare arbitrary information for itself. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:285</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a80455c20bb3b0800f323a0ccf51b25e9"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a80455c20bb3b0800f323a0ccf51b25e9">aace::alexa::ExternalMediaAdapter::PlaybackState::shuffleEnabled</a></div><div class="ttdeci">bool shuffleEnabled</div><div class="ttdoc">Bool to identify if shuffling is enabled or not. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:309</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a031db9827daaf6d93e6a1624c2a97d0c"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a031db9827daaf6d93e6a1624c2a97d0c">aace::alexa::ExternalMediaAdapter::PlaybackState::duration</a></div><div class="ttdeci">std::chrono::milliseconds duration</div><div class="ttdoc">Media item duration in milliseconds. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:375</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a4bf58240989f3cadeb677e07e7cdb59d"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a4bf58240989f3cadeb677e07e7cdb59d">aace::alexa::ExternalMediaAdapter::PlaybackState::trackName</a></div><div class="ttdeci">std::string trackName</div><div class="ttdoc">The display name for the currently playing trackname of the track. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:328</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a40bc2ec8931aae4f77d2655613246cc8"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a40bc2ec8931aae4f77d2655613246cc8">aace::alexa::ExternalMediaAdapter::PlaybackState::smallURL</a></div><div class="ttdeci">std::string smallURL</div><div class="ttdoc">The URL for small cover art image resource} . </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:355</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ad3a1789ab11e758aa2c16498b6e724b3"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad3a1789ab11e758aa2c16498b6e724b3">aace::alexa::ExternalMediaAdapter::PlaybackState::mediumURL</a></div><div class="ttdeci">std::string mediumURL</div><div class="ttdoc">The URL for medium cover art image resource} . </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:358</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_ad18c03b18fc5fd59d4502cb5902841c9"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#ad18c03b18fc5fd59d4502cb5902841c9">aace::alexa::ExternalMediaAdapter::PlaybackState::repeatEnabled</a></div><div class="ttdeci">bool repeatEnabled</div><div class="ttdoc">Bool to identify if looping of songs is enabled or not. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:312</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state_html_a671b6f011cd5f54fa23fb6b869ef9efb"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_playback_state.html#a671b6f011cd5f54fa23fb6b869ef9efb">aace::alexa::ExternalMediaAdapter::PlaybackState::albumId</a></div><div class="ttdeci">std::string albumId</div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:349</div></div>
<div class="ttc" id="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info_html_ab490eef2715a6dc3a5ccd8447e701f88"><div class="ttname"><a href="classaace_1_1alexa_1_1_external_media_adapter_1_1_authorized_player_info.html#ab490eef2715a6dc3a5ccd8447e701f88">aace::alexa::ExternalMediaAdapter::AuthorizedPlayerInfo::authorized</a></div><div class="ttdeci">bool authorized</div><div class="ttdoc">Authorization status. </div><div class="ttdef"><b>Definition:</b> ExternalMediaAdapter.h:401</div></div>
</div><!-- fragment --></div><!-- contents -->
<html>
  <body>
    <hr style="height:1px;border-width:0;color:gray;background-color:gray">
    <p style="text-align:left;">
      Alexa Auto SDK 2.2.0 - Copyright 2017-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
      <span style="float:right;">
        Licensed under the <a HREF=http://aws.amazon.com/apache2.0/>Apache License, Version 2.0</a>
      </span>
    </p>
  </body>
</html>
